![วิธีการ Start และ Terminate Aurora Serverless](https://devio2023-media.developers.io/wp-content/uploads/2019/05/amazon-aurora.png)
วิธีการ Start และ Terminate Aurora Serverless
ครั้งนี้จะมาแนะนำวิธีการ Start และ Terminate Aurora Serverless
Amazon Aurora Serverless
Amazon Aurora Serverless เป็นการกำหนดค่าแบบ Auto-Scaling ตามความต้องการสำหรับ Amazon Aurora โดยจะเริ่มทำงาน หยุดทำงาน และปรับความจุขึ้นหรือลงโดยอัตโนมัติตามความต้องการของแอปพลิเคชัน ซึ่งทำให้คุณสามารถเรียกใช้ฐานข้อมูลบนระบบคลาวด์ได้โดยไม่ต้องจัดการความจุฐานข้อมูลใดๆ
การสร้าง Aurora Serverless ด้วย MySQL
ค้นหา?︎ EC2
เลือกEC2
มาที่เมนูด้านซ้าย เลือกDatabases
คลิกCreate database
มาที่หัวข้อ Engine options เลื่อนลงมาด้านล่างแล้วดูที่ Capacity type จากนั้นตั้งค่าตามนี้ได้เลย
» เลือกAmazon Aurora
» เลือกServerless
» เลือก Available versions (2/59):Aurora (MySQL 5.7) 2.07.1 ▼
มีข้อจำกัดสำหรับเวอร์ชันของ MySQL ที่เราสามารถใช้กับ Aurora Serverless ได้ ซึ่งในปัจจุบันนี้จะมีเวอร์ชัน 5.6 และ 5.7 ที่สามารถใช้งานได้
มาที่หัวข้อ Settings มีการตั้งค่าดังนี้
» DB cluster identifier:tinnakorn-aurora
▼ Credentials Settings
» Master username:admin
» Master password:********
(สร้างรหัสอะไรก็ได้)
» Confirm password:********
มาที่หัวข้อ Capacity settings มีการตั้งค่าดังนี้
» Minimum Aurora capacity units:1 ACU
» Maximum Aurora capacity units:1 ACU
» คลิก▶ Additional scaling configuration
ทุกๆ 1 ACU จะมีหน่วยความจำประมาณ 2GB และมีประสิทธิภาพของ CPU/Network ที่สอดคล้องกัน
สำหรับ Minimum กับ Maximum สามารถเลือกเป็น 1, 2, 4, 8, 16, 32 ... ได้ ครั้งนี้เราจะมาตั้งค่า 1 ACU ที่เป็นค่าต่ำสุดทั้งหมด เนื่องจากว่าเป็นการสร้างขึ้นเพื่อทำการทดสอบ
ในกรณีที่ต้องการปรับ Scale ให้มีประสิทธิภาพโดยอัตโนมัติ ต้องทำการตั้งค่าให้มีขนาดใหญ่ขึ้นโดยคลิกเข้าไปที่นี่
เมื่อคลิก ▶ Additional scaling configuration แล้ว ตั้งค่าตามนี้ได้เลย
» Autoscaling timeout and action:00:05:00
(ระบุระยะเวลาเพื่อให้ Aurora ค้นหาจุดสเกลก่อนการดำเนินการหมดเวลา)
Pause after inactivity
» Check✅ Scale the capacity to 0 ACUs when cluster is idle
» Amount of time the cluster can be idle before scaling to zero:00:05:00
(ระบุเวลาเพื่อให้หยุดระบบขณะที่ไม่มีการใช้งาน)
Aurora จะหยุดทำงานก็ต่อเมื่อมีสถานะเป็น idle หรือไม่ได้ใช้งาน ก็จะทำให้ไม่มีค่าใช้จ่าย
หากมีการเชื่อมต่อ Database ในขณะที่มีสถานะเป็น idle นั้น Aurora จะเริ่มทำงานอัตโนมัติโดยใช้เวลาสตาร์ทประมาณ 10 วินาที
มาที่หัวข้อ Connectivity เลื่อนมาที่ล่างสุด คลิก▶ Additional configuration
ตามด้วย Checkbox:✅ Data API
และคลิกCreate database
(เมื่อเปิดการใช้งาน Data API ก็จะทำให้สามารถใช้งาน Query Editor ได้)
ให้ค้นหาชื่อของเรา เช่นtinnakorn-aurora
ตามด้วยคลิกที่ชื่อ DB identifier ของเราได้เลย
เมื่อเข้ามาแล้วดูที่ Info จะแสดงคำว่า Creating ต้องรอสักครู่
เมื่อสร้างเสร็จเรียบร้อยแล้ว Info จะแสดงคำว่า Available
การตรวจสอบ Monitoring
เลื่อนลงมาด้านล่าง เลือกหัวข้อMonitoring
ตามด้วยคลิกServerless Database Capacity (Count)
เมื่อเข้ามาแล้วก็จะได้หน้าตาแบบนี้
ในกราฟนี้จะเห็นว่าปัจจุบัน ACU คือ 1 และถ้า ACU แสดงค่าเป็น 1 หรือสูงกว่านั้น แสดงว่า Aurora กำลังทำงาน
เมื่อเวลาผ่านไปตามเวลาที่เราได้กำหนดไว้ เช่น00:05:00
ก็จะทำให้มีการหยุดการใช้งาน
ถ้า ACU กลายเป็น 0 ซึ่งหมายถึงสถานะ idle หรือ ไม่ได้ใช้งาน ซึ่งสถานะนี้จะไม่มีค่าใช้จ่าย Aurora
การ Terminate Aurora Serverless
มาที่หน้า Database ของเราอีกครั้ง เช่นtinnakorn-aurora
มาที่ Deletion protection จากนั้นทำการ Checkout:◻
Enable deletion protection และคลิกContinue
เลือก ◉ Apply immediately และคลิกModify cluster
ทำการลบ Database ดังนี้
① ค้นหาชื่อ Database ของเรา เช่น?︎ tinnakorn-aurora
② คลิก ◉ ที่หน้าชื่อของเรา
③ คลิกActions ▼
④ เลือกDelete
เมื่อมี Popup เด้งขึ้นมา ดูที่ Create final snapshot?
ซึ่งในส่วนนี้เราจะลบโดยไม่สร้าง snapshot ให้ตั้งค่าดังนี้
» เลือกNo
» ทำการ Checkbox:✅
I acknowledge that upon cluster deletiion, automated...
» คลิกDelete DB cluster
เมื่อลบเสร็จแล้ว ให้ค้นหาชื่อของเรา และดูที่ Status จะเห็นว่าเป็น✕ Deleting
จากนั้นรอสักครู่ Database ของเราก็จะหายไปเอง
สรุป
การสาธิตวิธีการ Start และ Terminate Aurora Serverless นี้ เป็นการกำหนดค่าแบบ Auto-Scaling ตามความต้องการ สามารถกำหนด ACU, ระบุเวลาเพื่อค้นหาจุดสเกล และหยุดระบบขณะที่ไม่มีการใช้งาน Aurora Serverless ได้